﻿Imports Commander_Wars.Spieletools
Public Enum MovementSorts
    Heavy_Horse
    Light_Horse
    Heavy_Food
    Light_Food
    Sea_Food
    Spider
    Flugzeug
    Amphibie
    Ketten
    Schiff
    Höllium
    Fuß
    Helikopter
    Transport
    Läufer
    Mech
    Reifen
    Motorreifen
    Wüstenketten
    Schneeketten
End Enum
''' <summary>
'''#########################################################
'''#This MOD is created by Robosturm Commander Wars Leader #
'''#This MOD allows you to play FE with Commander Wars     #
'''#with new futures and Ideas have fun during playing it! #
'''#I'm working on this MOD than i'm not intrested in CoW  #
'''#programming. But want to programm something. So this   #
'''#MOD will take sometime...                              #
'''#I want to find out if it's possible to create MOD's for#
'''#Commander Wars easy or with a lot of work as for now   #
'''#It seems to be a more or less easy task! Most Objects  #
'''#Only needs some more functions and Varaibles and the   #
'''#Battlesystem will need a couple of new Calculations.   #
'''#########################################################
''' </summary>
''' <remarks></remarks>
Public Class Fire_Emblem_MOD
#Region "Unit Stuff"
    Public Shared Function NewEinheit(ByVal EinheitenID As String, ByVal Spieler As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal Leben As Integer, Optional ByVal HatSichBewegt As Boolean = True) As ObjektEinheit
        Select Case EinheitenID.ToUpper
            Case "RITTMEISTER"
                Return New Paladin_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "RITTER"
                Return New Knight(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SOLDAT"
                Return New Soldier(Leben, Spieler, X, Y, HatSichBewegt)
            Case "KAVALIER"
                Return New Cavalier_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ERZRITTER"
                Return New Great_Knight(Leben, Spieler, X, Y, HatSichBewegt)
            Case "GENERAL"
                Return New General(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SÖLDNER"
                Return New Mercenary(Leben, Spieler, X, Y, HatSichBewegt)
            Case "HELD"
                Return New Hero(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MYRMIDONE"
                Return New Myrmidon_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MYRMIDONIN"
                Return New Myrmidon_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHWERTMEISTER"
                Return New Swordmaster_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHWERTMEISTERIN"
                Return New Swordmaster_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ASSASINE"
                Return New Assassin_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ASSASININ"
                Return New Assassin_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "DIEB"
                Return New Thief(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHURKE"
                Return New Rogue(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BOGENSCHÜTZE"
                Return New Archer_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BOGENSCHÜTZIN"
                Return New Archer_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHARFSCHÜTZE"
                Return New Sniper_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHARFSCHÜTZIN"
                Return New Sniper_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "NOMADE"
                Return New Nomad(Leben, Spieler, X, Y, HatSichBewegt)
            Case "NOMADEN-SOLDAT"
                Return New Nomad_Trooper(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WYVERNREITER"
                Return New Wyvern_Rider(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WYVERNRITTER"
                Return New Wyvern_Knight_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WYVERLORD"
                Return New Wyvern_Lord(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WYVERNRITTERIN"
                Return New Wyvern_Knight_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MAGIER"
                Return New Mage_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MAGIERIN"
                Return New Mage_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WEISER"
                Return New Sage_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WEISE"
                Return New Sage_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WARLOCK"
                Return New Mage_Knight_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WARLOCKIN"
                Return New Mage_Knight_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MÖNCH"
                Return New Monk(Leben, Spieler, X, Y, HatSichBewegt)
            Case "PRIESTER"
                Return New Priest_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "PRIESTERIN"
                Return New Priest_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BISCHOF"
                Return New Bishop_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BISCHÖFIN"
                Return New Bishop_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHAMANE"
                Return New Shaman_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SCHAMANIN"
                Return New Shaman_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "DRUIDE"
                Return New Druid_M(Leben, Spieler, X, Y, HatSichBewegt)
            Case "DRUIDIN"
                Return New Druid_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "KÄMPFER"
                Return New Fighter(Leben, Spieler, X, Y, HatSichBewegt)
            Case "KRIEGER"
                Return New Warrior(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BANDIT"
                Return New Brigand(Leben, Spieler, X, Y, HatSichBewegt)
            Case "PIRAT"
                Return New Pirate(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BERSEKER"
                Return New Berseker(Leben, Spieler, X, Y, HatSichBewegt)
            Case "PEGASUSRITTER"
                Return New Pegasus_Knight_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "FALKENRITTER"
                Return New Falcoknight_F(Leben, Spieler, X, Y, HatSichBewegt)
            Case "TROUBADOUR"
                Return New Troubadour(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WALKÜRE"
                Return New Valkyrie(Leben, Spieler, X, Y, HatSichBewegt)
            Case "GEOMANT"
                Return New Dark_Druid(Leben, Spieler, X, Y, HatSichBewegt)
            Case "NEKROMANT"
                Return New Necromancer(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ERZWEISER"
                Return New Archsage(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MAGISCHESSIEGEL"
                Return New Magic_Seal(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ULTIMATIVESSIEGEL"
                Return New Ultimate_Seal(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ZOMBIE"
                Return New Revenant(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WIEDERGÄNGER"
                Return New Entombed(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SKELETTRITTER"
                Return New Boneknight(Leben, Spieler, X, Y, HatSichBewegt)
            Case "SKELETTSCHÜTZE"
                Return New Bonearcher(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WICHTKRIEGER"
                Return New Wightknight(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WICHTSCHÜTZE"
                Return New Wightarcher(Leben, Spieler, X, Y, HatSichBewegt)
            Case "BAEL"
                Return New Bael(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ERZBAEL"
                Return New Elder_Bael(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ZYKLOP"
                Return New Cyclops(Leben, Spieler, X, Y, HatSichBewegt)
            Case "WOLF"
                Return New Wulf(Leben, Spieler, X, Y, HatSichBewegt)
            Case "GWYLLGI"
                Return New Gwyllgi(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ZENTAURE"
                Return New Tarvos(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MAELDUIN"
                Return New Maelduin(Leben, Spieler, X, Y, HatSichBewegt)
            Case "MOGALL"
                Return New Mogall(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ERZMOGALL"
                Return New Arch_Mogall(Leben, Spieler, X, Y, HatSichBewegt)
            Case "GORGONE"
                Return New Gorgon(Leben, Spieler, X, Y, HatSichBewegt)
            Case "GARGOYLE"
                Return New Gargoyle(Leben, Spieler, X, Y, HatSichBewegt)
            Case "STEINGARGOYLE"
                Return New Deathgoyle(Leben, Spieler, X, Y, HatSichBewegt)
            Case "DRACOZOMBIE"
                Return New Draco_Zombie(Leben, Spieler, X, Y, HatSichBewegt)
            Case "ZOMBIEDRACHE"
                Return New Zombiedrache(Leben, Spieler, X, Y, HatSichBewegt)
            Case "DÄMONENKÖNIG"
                Return New Demon_King(Leben, Spieler, X, Y, HatSichBewegt)
            Case Else
                Return New Soldier(Leben, Spieler, X, Y, HatSichBewegt)
        End Select
    End Function
    Public Shared Function NewEinheit(ByVal EinheitenID As String, ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichBewegt As Boolean = True) As ObjektEinheit
        Select Case EinheitenID.ToUpper
            Case "RITTMEISTER"
                Return New Paladin_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "RITTER"
                Return New Knight(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SOLDAT"
                Return New Soldier(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "KAVALIER"
                Return New Cavalier_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ERZRITTER"
                Return New Great_Knight(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "GENERAL"
                Return New General(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SÖLDNER"
                Return New Mercenary(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "HELD"
                Return New Hero(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MYRMIDONE"
                Return New Myrmidon_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MYRMIDONIN"
                Return New Myrmidon_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHWERTMEISTER"
                Return New Swordmaster_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHWERTMEISTERIN"
                Return New Swordmaster_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ASSASINE"
                Return New Assassin_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ASSASININ"
                Return New Assassin_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "DIEB"
                Return New Thief(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHURKE"
                Return New Rogue(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BOGENSCHÜTZE"
                Return New Archer_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BOGENSCHÜTZIN"
                Return New Archer_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHARFSCHÜTZE"
                Return New Sniper_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHARFSCHÜTZIN"
                Return New Sniper_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "NOMADE"
                Return New Nomad(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "NOMADEN-SOLDAT"
                Return New Nomad_Trooper(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WYVERNREITER"
                Return New Wyvern_Rider(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WYVERNRITTER"
                Return New Wyvern_Knight_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WYVERLORD"
                Return New Wyvern_Lord(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WYVERNRITTERIN"
                Return New Wyvern_Knight_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MAGIER"
                Return New Mage_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MAGIERIN"
                Return New Mage_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WEISER"
                Return New Sage_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WEISE"
                Return New Sage_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WARLOCK"
                Return New Mage_Knight_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WARLOCKIN"
                Return New Mage_Knight_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MÖNCH"
                Return New Monk(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "PRIESTER"
                Return New Priest_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "PRIESTERIN"
                Return New Priest_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BISCHOF"
                Return New Bishop_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BISCHÖFIN"
                Return New Bishop_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHAMANE"
                Return New Shaman_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SCHAMANIN"
                Return New Shaman_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "DRUIDE"
                Return New Druid_M(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "DRUIDIN"
                Return New Druid_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "KÄMPFER"
                Return New Fighter(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "KRIEGER"
                Return New Warrior(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BANDIT"
                Return New Brigand(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "PIRAT"
                Return New Pirate(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BERSEKER"
                Return New Berseker(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "PEGASUSRITTER"
                Return New Pegasus_Knight_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "FALKENRITTER"
                Return New Falcoknight_F(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "TROUBADOUR"
                Return New Troubadour(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WALKÜRE"
                Return New Valkyrie(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "GEOMANT"
                Return New Dark_Druid(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "NEKROMANT"
                Return New Necromancer(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ERZWEISER"
                Return New Archsage(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MAGISCHESSIEGEL"
                Return New Magic_Seal(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ULTIMATIVESSIEGEL"
                Return New Ultimate_Seal(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ZOMBIE"
                Return New Revenant(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WIEDERGÄNGER"
                Return New Entombed(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SKELETTRITTER"
                Return New Boneknight(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "SKELETTSCHÜTZE"
                Return New Bonearcher(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WICHTKRIEGER"
                Return New Wightknight(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WICHTSCHÜTZE"
                Return New Wightarcher(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "BAEL"
                Return New Bael(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ERZBAEL"
                Return New Elder_Bael(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ZYKLOP"
                Return New Cyclops(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "WOLF"
                Return New Wulf(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "GWYLLGI"
                Return New Gwyllgi(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ZENTAURE"
                Return New Tarvos(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MAELDUIN"
                Return New Maelduin(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "MOGALL"
                Return New Mogall(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ERZMOGALL"
                Return New Arch_Mogall(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "GORGONE"
                Return New Gorgon(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "GARGOYLE"
                Return New Gargoyle(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "STEINGARGOYLE"
                Return New Deathgoyle(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "DRACOZOMBIE"
                Return New Draco_Zombie(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "ZOMBIEDRACHE"
                Return New Zombiedrache(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case "DÄMONENKÖNIG"
                Return New Demon_King(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
            Case Else
                Return New Soldier(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuBesetzen, neuX, neuY, Tarnung, HatSichBewegt)
        End Select
    End Function
    Public Shared Function NewEinheit(ByVal EinheitenID As String, ByVal Spieler As Integer, ByVal X As Integer, ByVal Y As Integer, Optional ByVal HatSichBewegt As Boolean = True) As ObjektEinheit
        Select Case EinheitenID.ToUpper
            Case "RITTMEISTER"
                Return New Paladin_M(Spieler, X, Y, HatSichBewegt)
            Case "RITTER"
                Return New Knight(Spieler, X, Y, HatSichBewegt)
            Case "SOLDAT"
                Return New Soldier(Spieler, X, Y, HatSichBewegt)
            Case "KAVALIER"
                Return New Cavalier_M(Spieler, X, Y, HatSichBewegt)
            Case "ERZRITTER"
                Return New Great_Knight(Spieler, X, Y, HatSichBewegt)
            Case "GENERAL"
                Return New General(Spieler, X, Y, HatSichBewegt)
            Case "SÖLDNER"
                Return New Mercenary(Spieler, X, Y, HatSichBewegt)
            Case "HELD"
                Return New Hero(Spieler, X, Y, HatSichBewegt)
            Case "MYRMIDONE"
                Return New Myrmidon_M(Spieler, X, Y, HatSichBewegt)
            Case "MYRMIDONIN"
                Return New Myrmidon_F(Spieler, X, Y, HatSichBewegt)
            Case "SCHWERTMEISTER"
                Return New Swordmaster_M(Spieler, X, Y, HatSichBewegt)
            Case "SCHWERTMEISTERIN"
                Return New Swordmaster_F(Spieler, X, Y, HatSichBewegt)
            Case "ASSASINE"
                Return New Assassin_M(Spieler, X, Y, HatSichBewegt)
            Case "ASSASININ"
                Return New Assassin_F(Spieler, X, Y, HatSichBewegt)
            Case "DIEB"
                Return New Thief(Spieler, X, Y, HatSichBewegt)
            Case "SCHURKE"
                Return New Rogue(Spieler, X, Y, HatSichBewegt)
            Case "BOGENSCHÜTZE"
                Return New Archer_M(Spieler, X, Y, HatSichBewegt)
            Case "BOGENSCHÜTZIN"
                Return New Archer_F(Spieler, X, Y, HatSichBewegt)
            Case "SCHARFSCHÜTZE"
                Return New Sniper_M(Spieler, X, Y, HatSichBewegt)
            Case "SCHARFSCHÜTZIN"
                Return New Sniper_F(Spieler, X, Y, HatSichBewegt)
            Case "NOMADE"
                Return New Nomad(Spieler, X, Y, HatSichBewegt)
            Case "NOMADEN-SOLDAT"
                Return New Nomad_Trooper(Spieler, X, Y, HatSichBewegt)
            Case "WYVERNREITER"
                Return New Wyvern_Rider(Spieler, X, Y, HatSichBewegt)
            Case "WYVERNRITTER"
                Return New Wyvern_Knight_M(Spieler, X, Y, HatSichBewegt)
            Case "WYVERLORD"
                Return New Wyvern_Lord(Spieler, X, Y, HatSichBewegt)
            Case "WYVERNRITTERIN"
                Return New Wyvern_Knight_F(Spieler, X, Y, HatSichBewegt)
            Case "MAGIER"
                Return New Mage_M(Spieler, X, Y, HatSichBewegt)
            Case "MAGIERIN"
                Return New Mage_F(Spieler, X, Y, HatSichBewegt)
            Case "WEISER"
                Return New Sage_M(Spieler, X, Y, HatSichBewegt)
            Case "WEISE"
                Return New Sage_F(Spieler, X, Y, HatSichBewegt)
            Case "WARLOCK"
                Return New Mage_Knight_M(Spieler, X, Y, HatSichBewegt)
            Case "WARLOCKIN"
                Return New Mage_Knight_F(Spieler, X, Y, HatSichBewegt)
            Case "MÖNCH"
                Return New Monk(Spieler, X, Y, HatSichBewegt)
            Case "PRIESTER"
                Return New Priest_M(Spieler, X, Y, HatSichBewegt)
            Case "PRIESTERIN"
                Return New Priest_F(Spieler, X, Y, HatSichBewegt)
            Case "BISCHOF"
                Return New Bishop_M(Spieler, X, Y, HatSichBewegt)
            Case "BISCHÖFIN"
                Return New Bishop_F(Spieler, X, Y, HatSichBewegt)
            Case "SCHAMANE"
                Return New Shaman_M(Spieler, X, Y, HatSichBewegt)
            Case "SCHAMANIN"
                Return New Shaman_F(Spieler, X, Y, HatSichBewegt)
            Case "DRUIDE"
                Return New Druid_M(Spieler, X, Y, HatSichBewegt)
            Case "DRUIDIN"
                Return New Druid_F(Spieler, X, Y, HatSichBewegt)
            Case "KÄMPFER"
                Return New Fighter(Spieler, X, Y, HatSichBewegt)
            Case "KRIEGER"
                Return New Warrior(Spieler, X, Y, HatSichBewegt)
            Case "BANDIT"
                Return New Brigand(Spieler, X, Y, HatSichBewegt)
            Case "PIRAT"
                Return New Pirate(Spieler, X, Y, HatSichBewegt)
            Case "BERSEKER"
                Return New Berseker(Spieler, X, Y, HatSichBewegt)
            Case "PEGASUSRITTER"
                Return New Pegasus_Knight_F(Spieler, X, Y, HatSichBewegt)
            Case "FALKENRITTER"
                Return New Falcoknight_F(Spieler, X, Y, HatSichBewegt)
            Case "TROUBADOUR"
                Return New Troubadour(Spieler, X, Y, HatSichBewegt)
            Case "WALKÜRE"
                Return New Valkyrie(Spieler, X, Y, HatSichBewegt)
            Case "GEOMANT"
                Return New Dark_Druid(Spieler, X, Y, HatSichBewegt)
            Case "NEKROMANT"
                Return New Necromancer(Spieler, X, Y, HatSichBewegt)
            Case "ERZWEISER"
                Return New Archsage(Spieler, X, Y, HatSichBewegt)
            Case "MAGISCHESSIEGEL"
                Return New Magic_Seal(Spieler, X, Y, HatSichBewegt)
            Case "ULTIMATIVESSIEGEL"
                Return New Ultimate_Seal(Spieler, X, Y, HatSichBewegt)
            Case "ZOMBIE"
                Return New Revenant(Spieler, X, Y, HatSichBewegt)
            Case "WIEDERGÄNGER"
                Return New Entombed(Spieler, X, Y, HatSichBewegt)
            Case "SKELETTRITTER"
                Return New Boneknight(Spieler, X, Y, HatSichBewegt)
            Case "SKELETTSCHÜTZE"
                Return New Bonearcher(Spieler, X, Y, HatSichBewegt)
            Case "WICHTKRIEGER"
                Return New Wightknight(Spieler, X, Y, HatSichBewegt)
            Case "WICHTSCHÜTZE"
                Return New Wightarcher(Spieler, X, Y, HatSichBewegt)
            Case "BAEL"
                Return New Bael(Spieler, X, Y, HatSichBewegt)
            Case "ERZBAEL"
                Return New Elder_Bael(Spieler, X, Y, HatSichBewegt)
            Case "ZYKLOP"
                Return New Cyclops(Spieler, X, Y, HatSichBewegt)
            Case "WOLF"
                Return New Wulf(Spieler, X, Y, HatSichBewegt)
            Case "GWYLLGI"
                Return New Gwyllgi(Spieler, X, Y, HatSichBewegt)
            Case "ZENTAURE"
                Return New Tarvos(Spieler, X, Y, HatSichBewegt)
            Case "MAELDUIN"
                Return New Maelduin(Spieler, X, Y, HatSichBewegt)
            Case "MOGALL"
                Return New Mogall(Spieler, X, Y, HatSichBewegt)
            Case "ERZMOGALL"
                Return New Arch_Mogall(Spieler, X, Y, HatSichBewegt)
            Case "GORGONE"
                Return New Gorgon(Spieler, X, Y, HatSichBewegt)
            Case "GARGOYLE"
                Return New Gargoyle(Spieler, X, Y, HatSichBewegt)
            Case "STEINGARGOYLE"
                Return New Deathgoyle(Spieler, X, Y, HatSichBewegt)
            Case "DRACOZOMBIE"
                Return New Draco_Zombie(Spieler, X, Y, HatSichBewegt)
            Case "ZOMBIEDRACHE"
                Return New Zombiedrache(Spieler, X, Y, HatSichBewegt)
            Case "DÄMONENKÖNIG"
                Return New Demon_King(Spieler, X, Y, HatSichBewegt)
            Case Else
                Return New Soldier(Spieler, X, Y, HatSichBewegt)
        End Select
    End Function
    Public Enum Weapontype
        ''' <summary>
        ''' Anti Axe
        ''' </summary>
        ''' <remarks></remarks>
        Sword
        ''' <summary>
        ''' Anti Lance
        ''' </summary>
        ''' <remarks></remarks>
        Axe
        ''' <summary>
        ''' Anti Sword
        ''' </summary>
        ''' <remarks></remarks>
        Lance
        ''' <summary>
        ''' Neutral
        ''' </summary>
        ''' <remarks></remarks>
        Bow
        ''' <summary>
        ''' Anti Dark
        ''' </summary>
        ''' <remarks></remarks>
        Light
        ''' <summary>
        ''' Anti-Light
        ''' </summary>
        ''' <remarks></remarks>
        Anima
        ''' <summary>
        ''' Anti-Anima
        ''' </summary>
        ''' <remarks></remarks>
        Dark
        ''' <summary>
        ''' Neutral
        ''' </summary>
        ''' <remarks></remarks>
        Staves
        ''' <summary>
        ''' Neutral
        ''' </summary>
        ''' <remarks></remarks>
        Claw
        ''' <summary>
        ''' Neutral
        ''' </summary>
        ''' <remarks></remarks>
        Fang
        ''' <summary>
        ''' Ultimate Weapon
        ''' </summary>
        ''' <remarks></remarks>
        Dragonfire
    End Enum
    Public Enum Skills
        ''' <summary>
        ''' Kills Unit
        ''' </summary>
        ''' <remarks></remarks>
        Silencer
        ''' <summary>
        ''' Ignores Enemy Deffence
        ''' </summary>
        ''' <remarks></remarks>
        Pierce
        ''' <summary>
        ''' 100% Hitrate
        ''' </summary>
        ''' <remarks></remarks>
        Sure_Shot
        ''' <summary>
        ''' No Damage
        ''' </summary>
        ''' <remarks></remarks>
        Great_Shield
        ''' <summary>
        ''' double Damage against Monsters
        ''' </summary>
        ''' <remarks></remarks>
        Slayer
        ''' <summary>
        ''' Summons Monster
        ''' </summary>
        ''' <remarks></remarks>
        Summon
        ''' <summary>
        ''' +15% Crit Chance
        ''' </summary>
        ''' <remarks></remarks>
        Crit
        ''' <summary>
        ''' One more turn
        ''' </summary>
        ''' <remarks></remarks>
        Dance
        ''' <summary>
        ''' Can Open Doors
        ''' </summary>
        ''' <remarks></remarks>
        Pick
        ''' <summary>
        ''' Can use Ballistae
        ''' </summary>
        ''' <remarks></remarks>
        Ballistae
        ''' <summary>
        ''' Can Steal Items
        ''' </summary>
        ''' <remarks></remarks>
        Steal
        ''' <summary>
        ''' Can Open everything
        ''' </summary>
        ''' <remarks></remarks>
        Creak
        ''' <summary>
        ''' A Small Magic Seal with 10 Fields
        ''' </summary>
        ''' <remarks></remarks>
        SmallSeal
        ''' <summary>
        ''' A Small Magic Seal with 15 Fields
        ''' </summary>
        ''' <remarks></remarks>
        BigSeal
    End Enum
    Public Enum UnitTypes
        Human
        Monster
        Dragon
    End Enum
    Public Enum UnitState
        Normal
        Poison

    End Enum
    ''' <summary>
    ''' Be careful about the following Values!
    ''' SpritMax=Power
    ''' Sprit=Skill
    ''' Treibeverbrauch=Speed
    ''' MunitionMax=Luck
    ''' Muni=Deffence
    ''' Reichweitemin=Ressistance
    ''' Reichweitemax=Constitution
    ''' Kosten=Max HP
    ''' 
    ''' Grow Rates:
    ''' ATKDEFBoost.X=Life Point Grow Rate
    ''' Reichweitemax=Power Grow Rate
    ''' Bewegungsbonus=Skill Grow Rate
    ''' RadioaktiveVerseuchung=Speed Grow Rate
    ''' BesetzungsBonus=Luck Grow Rate
    ''' ReichweitenBonus=Deffence Grow Rate
    ''' SichtBonus=Ressistance Grow Rate
    ''' TreibstoffSenkung=Constitution Grow Rate
    ''' 'Other 
    ''' TruppenStufe=Unit Level
    ''' Waffen2=Unit State
    ''' </summary>
    ''' <remarks></remarks>
    <Serializable()> Public MustInherit Class FEUnit
        Inherits ObjektEinheit
        ''' <summary>
        ''' Upgrade Level of a Unit for example General is higher than Knight
        ''' Minimum is 1
        ''' </summary>
        ''' <remarks></remarks>
        Public UnitUpgradeLevel As Integer
        ''' <summary>
        ''' Level of our Unit
        ''' </summary>
        ''' <remarks></remarks>
        Public UnitLevel As Integer
        ''' <summary>
        ''' The Experience of a Unit
        ''' </summary>
        ''' <remarks></remarks>
        Public Experience As Integer
        ''' <summary>
        ''' Picture Size
        ''' </summary>
        ''' <remarks></remarks>
        Public UnitSize As Size
        ''' <summary>
        ''' Skills for the different weapons
        ''' </summary>
        ''' <remarks></remarks>
        Public WeaponSkill As WeaponSkills
        ''' <summary>
        ''' Type of the Unit Normally Human
        ''' </summary>
        ''' <remarks></remarks>
        Public UnitType As UnitTypes = UnitTypes.Human
        Public Items(4) As Item
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal Hatsichbewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, Hatsichbewegt)
            Waffen2 = UnitState.Normal.ToString
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, ByVal neuBesetzen As Boolean, ByVal HatSichbeWegt As Boolean, ByVal Tarnung As Boolean)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
            Waffen2 = UnitState.Normal.ToString
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, ByVal HatSichbeWegt As Boolean)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
            Waffen2 = UnitState.Normal.ToString
        End Sub
        ''' <summary>
        ''' Levels Up a FE Unit!
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub LevelUp()
            If Zufallszahl(1, 100) <= Reichweitemax Then
                SpritMax += 1
            End If
            If Zufallszahl(1, 100) <= Bewegungsbonus Then
                Sprit += 1
            End If
            If Zufallszahl(1, 100) <= RadioaktiveVerseuchung Then
                Treibeverbrauch += 1
            End If
            If Zufallszahl(1, 100) <= BesetzungsBonus Then
                MunitionMax += 1
            End If
            If Zufallszahl(1, 100) <= ReichweitenBonus Then
                Muni += 1
            End If
            If Zufallszahl(1, 100) <= SichtBonus Then
                Reichweitemin += 1
            End If
            If Zufallszahl(1, 100) <= TreibstoffSenkung Then
                Reichweitemax += 1
            End If
        End Sub
        ''' <summary>
        ''' Battle finshed! All Units gain Experience
        ''' </summary>
        ''' <param name="Enemy"></param>
        ''' <param name="AttackNumbers"></param>
        ''' <param name="Damage"></param>
        ''' <remarks></remarks>
        Public Sub GainExperience(ByVal Enemy As FEUnit, ByVal AttackNumbers As Integer, ByVal Damage As Boolean, ByVal UsedWeapon As Weapontype)
            If Damage Then
                Dim DeltaLevel As Integer = (Enemy.UnitLevel * UnitUpgradeLevel - UnitLevel * UnitUpgradeLevel)
                Dim Exp As Integer = 10 + Math.Round(DeltaLevel / 2, System.MidpointRounding.AwayFromZero)
                If Exp <= 0 Then Exp = 1
                Exp += DeltaLevel + 15 + TruppenStufe * 10
                Experience += Exp
                While Experience >= 100
                    Experience -= 100
                    LevelUp()
                End While
            End If
            WeaponSkill.LevelUpSkill(UsedWeapon)
        End Sub
        ''' <summary>
        ''' The Skills in the Weapons basic Integer=0
        ''' </summary>
        ''' <remarks></remarks>
        <Serializable()> Public Class WeaponSkills
            Public Enum Level
                Unasable
                E
                D
                C
                B
                A
                S
            End Enum
            Public Sword As Integer
            Public Axe As Integer
            Public Lance As Integer
            Public Bow As Integer
            Public Light As Integer
            Public Anima As Integer
            Public Dark As Integer
            Public Staves As Integer
            Public Claw As Integer
            Public Fang As Integer
            Public Dragonfire As Integer
            Public SWeapon As Boolean = False
            Public Shared Function GetSkillLevel(ByVal SkillLevel As Integer) As Level
                Select Case SkillLevel
                    Case Is <= 0
                        Return Level.Unasable
                    Case Is <= 10
                        Return Level.E
                    Case Is <= 25
                        Return Level.D
                    Case Is <= 45
                        Return Level.C
                    Case Is <= 70
                        Return Level.B
                    Case Is <= 100
                        Return Level.A
                    Case Is > 135
                        Return Level.S
                End Select
            End Function
            Public Sub LevelUpSkill(ByVal Weapon As Weapontype, Optional ByVal SkillUpgrade As Integer = 1)
                Select Case Weapon
                    Case Weapontype.Anima
                        If Anima + SkillUpgrade > 135 And Not SWeapon Then
                            Anima += SkillUpgrade
                        ElseIf Anima + SkillUpgrade <= 135 Then
                            Anima += SkillUpgrade
                        End If
                    Case Weapontype.Axe
                        If Axe + SkillUpgrade > 135 And Not SWeapon Then
                            Axe += SkillUpgrade
                        ElseIf Axe + SkillUpgrade <= 135 Then
                            Axe += SkillUpgrade
                        End If
                    Case Weapontype.Bow
                        If Bow + SkillUpgrade > 135 And Not SWeapon Then
                            Bow += SkillUpgrade
                        ElseIf Bow + SkillUpgrade <= 135 Then
                            Bow += SkillUpgrade
                        End If
                    Case Weapontype.Claw
                        If Claw + SkillUpgrade > 135 And Not SWeapon Then
                            Claw += SkillUpgrade
                        ElseIf Claw + SkillUpgrade <= 135 Then
                            Claw += SkillUpgrade
                        End If
                    Case Weapontype.Dark
                        If Dark + SkillUpgrade > 135 And Not SWeapon Then
                            Dark += SkillUpgrade
                        ElseIf Dark + SkillUpgrade <= 135 Then
                            Dark += SkillUpgrade
                        End If
                    Case Weapontype.Dragonfire
                        If Dragonfire + SkillUpgrade > 135 And Not SWeapon Then
                            Dragonfire += SkillUpgrade
                        ElseIf Dragonfire + SkillUpgrade <= 135 Then
                            Dragonfire += SkillUpgrade
                        End If
                    Case Weapontype.Fang
                        If Fang + SkillUpgrade > 135 And Not SWeapon Then
                            Fang += SkillUpgrade
                        ElseIf Fang + SkillUpgrade <= 135 Then
                            Fang += SkillUpgrade
                        End If
                    Case Weapontype.Lance
                        If Lance + SkillUpgrade > 135 And Not SWeapon Then
                            Lance += SkillUpgrade
                        ElseIf Lance + SkillUpgrade <= 135 Then
                            Lance += SkillUpgrade
                        End If
                    Case Weapontype.Light
                        If Light + SkillUpgrade > 135 And Not SWeapon Then
                            Light += SkillUpgrade
                        ElseIf Light + SkillUpgrade <= 135 Then
                            Light += SkillUpgrade
                        End If
                    Case Weapontype.Staves
                        If Staves + SkillUpgrade > 135 And Not SWeapon Then
                            Staves += SkillUpgrade
                        ElseIf Staves + SkillUpgrade <= 135 Then
                            Staves += SkillUpgrade
                        End If
                    Case Weapontype.Sword
                        If Sword + SkillUpgrade > 135 And Not SWeapon Then
                            Sword += SkillUpgrade
                        ElseIf Anima + SkillUpgrade <= 135 Then
                            Sword += SkillUpgrade
                        End If
                End Select
            End Sub
            Public Sub MakeWeaponSkills(ByVal Weapons As WeaponSkills)
                If Weapons.Sword > Sword Then
                    Weapons.Sword = Sword
                End If
                If Weapons.Lance > Lance Then
                    Weapons.Lance = Lance
                End If
                If Weapons.Axe > Axe Then
                    Weapons.Axe = Axe
                End If
                If Weapons.Bow > Bow Then
                    Weapons.Bow = Bow
                End If
                If Weapons.Light > Light Then
                    Weapons.Light = Light
                End If
                If Weapons.Anima > Anima Then
                    Weapons.Anima = Anima
                End If
                If Weapons.Dark > Dark Then
                    Weapons.Dark = Dark
                End If
                If Weapons.Staves > Staves Then
                    Weapons.Staves = Staves
                End If
                If Weapons.Claw > Claw Then
                    Weapons.Claw = Claw
                End If
                If Weapons.Fang > Fang Then
                    Weapons.Fang = Fang
                End If
                If Weapons.Dragonfire > Dragonfire Then
                    Weapons.Dragonfire = Dragonfire
                End If
                If Weapons.SWeapon Then
                    SWeapon = True
                End If
            End Sub
        End Class
        ''' <summary>
        ''' If a Unit gets this Unit some values will increase due to this sub
        ''' </summary>
        ''' <remarks></remarks>
        Public MustOverride Sub LevelUpgrade()
        ''' <summary>
        ''' Forces a Unit to become another Unit should only be used during an Upgrade from a low Rang Unit to a higher one!
        ''' </summary>
        ''' <param name="NewUnitID"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Function UpgradeUnitToUnit(ByVal NewUnitID As String) As FEUnit
            Dim E As FEUnit = Fire_Emblem_MOD.NewEinheit(NewUnitID, Spieler, X, Y, HatsichBewegt)
            E.Leben = Leben 'Power
            E.SpritMax = SpritMax
            E.Sprit = Sprit 'Skill
            E.Treibeverbrauch = Treibeverbrauch ' Speed
            E.MunitionMax = MunitionMax 'Luck
            E.Muni = Muni 'Deffence
            E.Reichweitemin = Reichweitemin  'Ressistance
            E.Reichweitemax = Reichweitemax  'Constitution
            E.WeaponSkill.MakeWeaponSkills(WeaponSkill)
            E.LevelUpgrade()
            Return E
        End Function
        Public MustOverride Function GetUpgradeUnits() As String()
        ''' <summary>
        ''' A Unit has another State as Normal
        ''' </summary>
        ''' <remarks></remarks>
        Public Sub StateActivation()
            Select Case Waffen2
                Case UnitState.Poison

            End Select
        End Sub
    End Class
#Region "Special Units"
#Region "Human Soldiers"
    ''' <summary>
    ''' Represents a Paladin Unit
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Paladin_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 23
            'Max Life points
            Koste = 23
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 8
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Rittmeister"
            EinheitenID = "RITTMEISTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            WeaponSkill.Sword = 1
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 45
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 2 'Lifepoints
            Koste += 2 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 30)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A Knight with heavy Defence
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Knight
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 17
            'Max Life points
            Koste = 17
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 0
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 9
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 13
            'Normal Stuff
            Einheitenname = "Ritter"
            EinheitenID = "RITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 4
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 35
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 2 'Lifepoints
            Koste += 2 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 30)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"GENERAL", "ERZRITTER"}
        End Function
    End Class
    ''' <summary>
    ''' A normal Soldier nearly useless
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Soldier
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 0
            'Speed
            Treibeverbrauch = 1
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 0
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Soldat"
            EinheitenID = "SOLDAT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 25
            'Speed Grow Rate
            RadioaktiveVerseuchung = 25
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 50
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 0)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"RITTER", "KAVALIER", "Wyvernreiter"}
        End Function
    End Class
    ''' <summary>
    ''' A Man as a Cavalier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Cavalier_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 9
            'Normal Stuff
            Einheitenname = "Kavalier"
            EinheitenID = "KAVALIER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 2 'Lifepoints
            Koste += 2 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 30)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"RITTMEISTER", "ERZRITTER"}
        End Function
    End Class
    ''' <summary>
    ''' An heavy Armed and defended Knight.
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Great_Knight
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 11
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 13
            'Normal Stuff
            Einheitenname = "Erzritter"
            EinheitenID = "ERZRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 45
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' The beset defence Unit in Fire Emblem
    ''' </summary>
    ''' <remarks></remarks>
    Public Class General
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 13
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 15
            'Normal Stuff
            Einheitenname = "General"
            EinheitenID = "GENERAL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 35
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Great_Shield.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 3 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 30)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mercenary
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 8
            'Speed
            Treibeverbrauch = 8
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 4
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 9
            'Normal Stuff
            Einheitenname = "Söldner"
            EinheitenID = "SÖLDNER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 35
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"HELD", "NOMADEN-SOLDAT"}
        End Function
    End Class
    ''' <summary>
    ''' Do you know Heros?
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Hero
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 22
            'Max Life points
            Koste = 22
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 9
            'Speed
            Treibeverbrauch = 10
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 8
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Held"
            EinheitenID = "HELD"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 45
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 29
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Axe, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Myrmidon_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 9
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Myrmidone"
            EinheitenID = "MYRMIDONE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 35
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ASSASINE", "SCHWERTMEISTER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Myrmidon_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 15
            'Max Life points
            Koste = 15
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 9
            'Speed
            Treibeverbrauch = 10
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 1
            'Resistance
            Reichweitemin = 1
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Myrmidonin"
            EinheitenID = "MYRMIDONIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 50
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ASSASININ", "SCHWERTMEISTERIN"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Swordmaster_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 11
            'Speed
            Treibeverbrauch = 10
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 9
            'Normal Stuff
            Einheitenname = "Schwertmeister"
            EinheitenID = "SCHWERTMEISTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Crit.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 5 'Lifepoints
            Koste += 5 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Swordmaster_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 11
            'Speed
            Treibeverbrauch = 12
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 4
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Schwertmeisterin"
            EinheitenID = "SCHWERTMEISTERIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 60
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Crit.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Assassin_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Assasine"
            EinheitenID = "ASSASINE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 15
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 55
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Silencer.ToString + Skills.Steal.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Assassin_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 2
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 1
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Assasinin"
            EinheitenID = "ASSASININ"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 15
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 55
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Silencer.ToString + Skills.Steal.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 2 'Lifepoints
            Koste += 2 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Thief
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 1
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Dieb"
            EinheitenID = "DIEB"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 65
            'Luck Grow Rate
            BesetzungsBonus = 45
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Steal.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ASSASINE", "SCHURKE"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Rogue
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 1
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Schurke"
            EinheitenID = "SCHURKE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 65
            'Luck Grow Rate
            BesetzungsBonus = 45
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Steal.ToString + Skills.Creak.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Archer_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Bogenschütze"
            EinheitenID = "BOGENSCHÜTZE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"SCHARFSCHÜTZE", "NOMADEN-SOLDAT"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Archer_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 17
            'Max Life points
            Koste = 17
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Bogenschützin"
            EinheitenID = "BOGENSCHÜTZIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 50
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 35
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"SCHARFSCHÜTZIN"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Sniper_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Scharfschütze"
            EinheitenID = "SCHARFSCHÜTZE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Sure_Shot.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Bow, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Sniper_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Scharfschützin"
            EinheitenID = "SCHARFSCHÜTZIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 45
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Sure_Shot.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Bow, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Nomad
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 4
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Nomade"
            EinheitenID = "NOMADE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 10
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"NOMADEN-SOLDAT"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Nomad_Trooper
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Nomaden-Soldat"
            EinheitenID = "NOMADEN-SOLDAT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 10
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Bow, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wyvern_Rider
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 9
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 10
            'Normal Stuff
            Einheitenname = "Wyvernreiter"
            EinheitenID = "WYVERNREITER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 35
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 15
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 2 'Lifepoints
            Koste += 2 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 4 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Bow, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WYVERNLORD", "WYVERNRITTER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wyvern_Lord
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 25
            'Max Life points
            Koste = 25
            'Strenght
            SpritMax = 9
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 10
            'Resistance
            Reichweitemin = 1
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Wyvernlord"
            EinheitenID = "WYVERNLORD"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 35
            'Ressistance Grow Rate
            SichtBonus = 40
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wyvern_Knight_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 7
            'Speed
            Treibeverbrauch = 8
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 7
            'Resistance
            Reichweitemin = 1
            'Constitution
            Reichweitemax = 10
            'Normal Stuff
            Einheitenname = "Wyvernritter"
            EinheitenID = "WYVERNRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 15
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Pierce.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 3 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wyvern_Knight_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 8
            'Speed
            Treibeverbrauch = 9
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 9
            'Normal Stuff
            Einheitenname = "Wyvernritter"
            EinheitenID = "WYVERNRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 65
            'Luck Grow Rate
            BesetzungsBonus = 60
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Pierce.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mage_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Magier"
            EinheitenID = "MAGIER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 40
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WEISER", "WARLOCK"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mage_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 4
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Magierin"
            EinheitenID = "MAGIERIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 45
            'Strenght Grow Rate
            Reichweitemax = 65
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 45
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 40
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WEISE", "WARLOCKIN"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Sage_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Weiser"
            EinheitenID = "WEISER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            WeaponSkill.Light = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 25
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 35
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Light, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ERZWEISER", "GEOMANT"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Sage_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 6
            'Constitution
            Reichweitemax = 4
            'Normal Stuff
            Einheitenname = "Weise"
            EinheitenID = "WEISE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            WeaponSkill.Light = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 25
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 45
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 40
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Light, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mage_Knight_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Warlock"
            EinheitenID = "WARLOCK"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 50
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 40
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mage_Knight_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 6
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Warlockin"
            EinheitenID = "WARLOCKIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Anima = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 10)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Monk
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 1
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Mönch"
            EinheitenID = "MÖNCH"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Light = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"BISCHOF", "WEISER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Priest_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 1
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Priester"
            EinheitenID = "PRIESTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"BISCHOF", "WEISER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Priest_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 0
            'Resistance
            Reichweitemin = 6
            'Constitution
            Reichweitemax = 4
            'Normal Stuff
            Einheitenname = "Priesterin"
            EinheitenID = "PRIESTERIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 60
            'Skill Grow Rate
            Bewegungsbonus = 25
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 60
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"BISCHÖFIN", "WEISE", "WALKÜRE"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Bishop_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 8
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Bischof"
            EinheitenID = "BISCHOF"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            WeaponSkill.Light = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 15
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Slayer.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Light, 30)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 25)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Bishop_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 9
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Bischöfin"
            EinheitenID = "BISCHÖFIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            WeaponSkill.Light = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 60
            'Skill Grow Rate
            Bewegungsbonus = 25
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 60
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Slayer.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Light, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Shaman_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 2
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 4
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Schamane"
            EinheitenID = "SCHAMANE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 45
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"DRUIDE", "BESCHWÖRER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Shaman_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 15
            'Max Life points
            Koste = 15
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 1
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 1
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 3
            'Normal Stuff
            Einheitenname = "Schamanin"
            EinheitenID = "SCHAMANIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 60
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"DRUIDIN"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Druid_M
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 4
            'Resistance
            Reichweitemin = 6
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Druide"
            EinheitenID = "DRUIDE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            WeaponSkill.Staves = 1
            WeaponSkill.Anima = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 35
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 3 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"GEOMANT", "ERZWEISER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Druid_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 17
            'Max Life points
            Koste = 17
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 7
            'Constitution
            Reichweitemax = 4
            'Normal Stuff
            Einheitenname = "Druidin"
            EinheitenID = "DRUIDIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            WeaponSkill.Anima = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 60
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 3 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Anima, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Summoner
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Beschwörer"
            EinheitenID = "BESCHWÖRER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 60
            'Strenght Grow Rate
            Reichweitemax = 55
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 3 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"NEKROMANT"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Fighter
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Kämpfer"
            EinheitenID = "KÄMPFER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 65
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 20
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 15
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"HELD", "KRIEGER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Warrior
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 28
            'Max Life points
            Koste = 28
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 13
            'Normal Stuff
            Einheitenname = "Krieger"
            EinheitenID = "KRIEGER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 60
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Axe, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Brigand
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 5
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 12
            'Normal Stuff
            Einheitenname = "Bandit"
            EinheitenID = "BANDIT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 70
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 35
            'Deffence Grow Rate
            ReichweitenBonus = 25
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"HELD", "BERSEKER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Pirate
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 2
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 10
            'Normal Stuff
            Einheitenname = "Pirat"
            EinheitenID = "PIRAT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Sea_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 65
            'Skill Grow Rate
            Bewegungsbonus = 20
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 35
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 15
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"KRIEGER", "BERSEKER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Berseker
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 24
            'Max Life points
            Koste = 24
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 4
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 13
            'Normal Stuff
            Einheitenname = "Berseker"
            EinheitenID = "BERSEKER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Sea_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 35
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Crit.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Axe, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Pegasus_Knight_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 14
            'Max Life points
            Koste = 14
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Pegasusritter"
            EinheitenID = "PEGASUSRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 50
            'Strenght Grow Rate
            Reichweitemax = 35
            'Skill Grow Rate
            Bewegungsbonus = 55
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 50
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"FALKENRITTER", "WYVERNRITTER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Falcoknight_F
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 7
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 4
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Falkenritter"
            EinheitenID = "FALKENRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 70
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 20
            'Ressistance Grow Rate
            SichtBonus = 50
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 5 'Lifepoints
            Koste += 5 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Troubadour
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 15
            'Max Life points
            Koste = 15
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 5
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Troubadour"
            EinheitenID = "TROUBADOUR"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 45
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 45
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 65
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WALKÜRE", "WARLOCKIN"}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Valkyrie
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 4
            'Resistance
            Reichweitemin = 8
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Walküre"
            EinheitenID = "WALKÜRE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            WeaponSkill.Light = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 45
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 60
            'Deffence Grow Rate
            ReichweitenBonus = 15
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Light, 10)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 20)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Necromancer
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 9
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 8
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Nekromant"
            EinheitenID = "NEKROMANT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 1
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 80
            'Strenght Grow Rate
            Reichweitemax = 70
            'Skill Grow Rate
            Bewegungsbonus = 70
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 60
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.Summon.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 40)
            WeaponSkill.LevelUpSkill(Weapontype.Staves, 20)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Dark_Druid
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 75
            'Max Life points
            Koste = 75
            'Strenght
            SpritMax = 30
            'Skill
            Sprit = 18
            'Speed
            Treibeverbrauch = 15
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 28
            'Resistance
            Reichweitemin = 30
            'Constitution
            Reichweitemax = 10
            'Normal Stuff
            Einheitenname = "Geomant"
            EinheitenID = "GEOMANT"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 136
            WeaponSkill.Dark = 136
            WeaponSkill.Anima = 136
            WeaponSkill.Light = 136
            WeaponSkill.SWeapon = True
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 60
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 2 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.Staves = 136
            WeaponSkill.Dark = 136
            WeaponSkill.Anima = 136
            WeaponSkill.Light = 136
            WeaponSkill.SWeapon = True
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Magic_Seal
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 50
            'Max Life points
            Koste = 50
            'Strenght
            SpritMax = 0
            'Skill
            Sprit = 0
            'Speed
            Treibeverbrauch = 24
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 13
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Magisches Siegel"
            EinheitenID = "MAGISCHESSIEGEL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 10
            'Speed Grow Rate
            RadioaktiveVerseuchung = 10
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 10
            'Ressistance Grow Rate
            SichtBonus = 15
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ULTIMATIVESSIEGEL"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Ultimate_Seal
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 55
            'Max Life points
            Koste = 55
            'Strenght
            SpritMax = 15
            'Skill
            Sprit = 20
            'Speed
            Treibeverbrauch = 25
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 18
            'Resistance
            Reichweitemin = 15
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Ultimatives Siegel"
            EinheitenID = "ULTIMATIVESSIEGEL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 100
            'Skill Grow Rate
            Bewegungsbonus = 80
            'Speed Grow Rate
            RadioaktiveVerseuchung = 90
            'Luck Grow Rate
            BesetzungsBonus = 70
            'Deffence Grow Rate
            ReichweitenBonus = 90
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire" + Skills.BigSeal.ToString
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 135)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Archsage
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 40
            'Max Life points
            Koste = 30
            'Strenght
            SpritMax = 24
            'Skill
            Sprit = 20
            'Speed
            Treibeverbrauch = 20
            'Luck
            MunitionMax = 20
            'Deffence
            Muni = 20
            'Resistance
            Reichweitemin = 28
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Erzweiser"
            EinheitenID = "ERZWEISER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Staves = 136
            WeaponSkill.Dark = 136
            WeaponSkill.Anima = 136
            WeaponSkill.Light = 136
            WeaponSkill.SWeapon = True
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 90
            'Strenght Grow Rate
            Reichweitemax = 100
            'Skill Grow Rate
            Bewegungsbonus = 90
            'Speed Grow Rate
            RadioaktiveVerseuchung = 90
            'Luck Grow Rate
            BesetzungsBonus = 90
            'Deffence Grow Rate
            ReichweitenBonus = 90
            'Ressistance Grow Rate
            SichtBonus = 90
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 5 'Lifepoints
            Koste += 5 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 2 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 3 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.Staves = 136
            WeaponSkill.Dark = 136
            WeaponSkill.Anima = 136
            WeaponSkill.Light = 136
            WeaponSkill.SWeapon = True
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Fire_Dragon
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 120
            'Max Life points
            Koste = 17
            'Strenght
            SpritMax = 25
            'Skill
            Sprit = 15
            'Speed
            Treibeverbrauch = 20
            'Luck
            MunitionMax = 20
            'Deffence
            Muni = 20
            'Resistance
            Reichweitemin = 20
            'Constitution
            Reichweitemax = 25
            'Normal Stuff
            Einheitenname = "Feuerdrache"
            EinheitenID = "FEUERDRACHE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dragonfire = 136
            Experience = 0
            UnitUpgradeLevel = 4
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 10
            'Speed Grow Rate
            RadioaktiveVerseuchung = 10
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function


    End Class
#End Region
#Region "Undead Soldiers"
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Revenant
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 25
            'Max Life points
            Koste = 25
            'Strenght
            SpritMax = 2
            'Skill
            Sprit = 0
            'Speed
            Treibeverbrauch = 0
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 0
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Zombie"
            EinheitenID = "ZOMBIE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 4
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Claw = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 10
            'Speed Grow Rate
            RadioaktiveVerseuchung = 10
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WIEDERGÄNGER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Entombed
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 35
            'Max Life points
            Koste = 35
            'Strenght
            SpritMax = 3
            'Skill
            Sprit = 0
            'Speed
            Treibeverbrauch = 1
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 0
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Wiedergänger"
            EinheitenID = "WIEDERGÄNGER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Claw = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 20
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 50
            'Ressistance Grow Rate
            SichtBonus = 20
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 7 'Lifepoints
            Koste += 7 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Claw, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Boneknight
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 20
            'Max Life points
            Koste = 20
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 7
            'Normal Stuff
            Einheitenname = "Skelettritter"
            EinheitenID = "SKELETTRITTER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 40
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WICHTKRIEGER"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Bonearcher
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 18
            'Max Life points
            Koste = 18
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Skelettschütze"
            EinheitenID = "SKELETTSCHÜTZE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"WICHTSCHÜTZE"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wightknight
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 7
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 9
            'Normal Stuff
            Einheitenname = "Wichtkrieger"
            EinheitenID = "WICHTKRIEGER"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            WeaponSkill.Sword = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 25
            'Deffence Grow Rate
            ReichweitenBonus = 50
            'Ressistance Grow Rate
            SichtBonus = 35
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 2 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 20)
            WeaponSkill.LevelUpSkill(Weapontype.Sword, 20)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wightarcher
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 6
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Wichtschütze"
            EinheitenID = "WICHTSCHÜTZE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 55
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 3 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Bow, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Bael
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 25
            'Max Life points
            Koste = 25
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 1
            'Constitution
            Reichweitemax = 12
            'Normal Stuff
            Einheitenname = "Bael"
            EinheitenID = "BAEL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Spider.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Claw = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ERZBAEL"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Elder_Bael
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 36
            'Max Life points
            Koste = 36
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 9
            'Resistance
            Reichweitemin = 4
            'Constitution
            Reichweitemax = 15
            'Normal Stuff
            Einheitenname = "Erzbael"
            EinheitenID = "ERZBAEL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Spider.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Claw = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 45
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 5 'Lifepoints
            Koste += 5 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Claw, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Cyclops
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 40
            'Max Life points
            Koste = 40
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 13
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 16
            'Normal Stuff
            Einheitenname = "Zyklop"
            EinheitenID = "ZYKLOP"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 35
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 50
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Wulf
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 16
            'Max Life points
            Koste = 16
            'Strenght
            SpritMax = 4
            'Skill
            Sprit = 10
            'Speed
            Treibeverbrauch = 10
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 6
            'Normal Stuff
            Einheitenname = "Wolf"
            EinheitenID = "WOLF"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Fang = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 60
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"GWYLLGI"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Gwyllgi
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 12
            'Speed
            Treibeverbrauch = 12
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 2
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Gwyllgi"
            EinheitenID = "GWYLLGI"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Light_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Fang = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 30
            'Skill Grow Rate
            Bewegungsbonus = 60
            'Speed Grow Rate
            RadioaktiveVerseuchung = 60
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 1 'Strenght
            Sprit += 2 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Fang, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Tarvos
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 21
            'Max Life points
            Koste = 21
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 2
            'Speed
            Treibeverbrauch = 5
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 7
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 10
            'Normal Stuff
            Einheitenname = "Zentaure"
            EinheitenID = "ZENTAURE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 7
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"MAELDUIN"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Maelduin
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 25
            'Max Life points
            Koste = 25
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 4
            'Speed
            Treibeverbrauch = 7
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 9
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 12
            'Normal Stuff
            Einheitenname = "Maelduin"
            EinheitenID = "MAELDUIN"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 8
            Bewegungsart = MovementSorts.Heavy_Horse.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Axe = 1
            WeaponSkill.Bow = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 20
            'Deffence Grow Rate
            ReichweitenBonus = 40
            'Ressistance Grow Rate
            SichtBonus = 30
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 2 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Axe, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Mogall
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 15
            'Max Life points
            Koste = 15
            'Strenght
            SpritMax = 2
            'Skill
            Sprit = 1
            'Speed
            Treibeverbrauch = 2
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 2
            'Resistance
            Reichweitemin = 4
            'Constitution
            Reichweitemax = 4
            'Normal Stuff
            Einheitenname = "Mogall"
            EinheitenID = "MOGALL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ERZMOGALL"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Arch_Mogall
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 17
            'Max Life points
            Koste = 17
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 3
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 3
            'Resistance
            Reichweitemin = 7
            'Constitution
            Reichweitemax = 5
            'Normal Stuff
            Einheitenname = "Erzmogall"
            EinheitenID = "ERZMOGALL"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 55
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 30
            'Speed Grow Rate
            RadioaktiveVerseuchung = 30
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 3 'Lifepoints
            Koste += 3 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 1 'Deffence
            Reichweitemin += 2 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Dark, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Gorgon
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 4
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 5
            'Resistance
            Reichweitemin = 7
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Gorgone"
            EinheitenID = "GORGONE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 65
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 30
            'Ressistance Grow Rate
            SichtBonus = 55
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Gargoyle
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 19
            'Max Life points
            Koste = 19
            'Strenght
            SpritMax = 6
            'Skill
            Sprit = 3
            'Speed
            Treibeverbrauch = 6
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 6
            'Resistance
            Reichweitemin = 0
            'Constitution
            Reichweitemax = 8
            'Normal Stuff
            Einheitenname = "Gargoyle"
            EinheitenID = "GARGOYLE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"STEINGARGOYLE"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Deathgoyle
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 23
            'Max Life points
            Koste = 23
            'Strenght
            SpritMax = 8
            'Skill
            Sprit = 5
            'Speed
            Treibeverbrauch = 8
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 9
            'Resistance
            Reichweitemin = 1
            'Constitution
            Reichweitemax = 11
            'Normal Stuff
            Einheitenname = "Steingargoyle"
            EinheitenID = "STEINGARGOYLE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Lance = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 75
            'Strenght Grow Rate
            Reichweitemax = 50
            'Skill Grow Rate
            Bewegungsbonus = 50
            'Speed Grow Rate
            RadioaktiveVerseuchung = 50
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 25
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Lance, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Draco_Zombie
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 53
            'Max Life points
            Koste = 53
            'Strenght
            SpritMax = 1
            'Skill
            Sprit = 0
            'Speed
            Treibeverbrauch = 1
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 0
            'Resistance
            Reichweitemin = 3
            'Constitution
            Reichweitemax = 25
            'Normal Stuff
            Einheitenname = "Dracozombie"
            EinheitenID = "DRACOZOMBIE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 5
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dragonfire = 1
            Experience = 0
            UnitUpgradeLevel = 1
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 60
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {"ZOMBIEDRACHE"}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Zombiedrache
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 60
            'Max Life points
            Koste = 60
            'Strenght
            SpritMax = 15
            'Skill
            Sprit = 15
            'Speed
            Treibeverbrauch = 15
            'Luck
            MunitionMax = 10
            'Deffence
            Muni = 20
            'Resistance
            Reichweitemin = 20
            'Constitution
            Reichweitemax = 25
            'Normal Stuff
            Einheitenname = "Zombiedrache"
            EinheitenID = "ZOMBIEDRACHE"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 6
            Bewegungsart = MovementSorts.Flugzeug.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dragonfire = 1
            Experience = 0
            UnitUpgradeLevel = 2
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 85
            'Strenght Grow Rate
            Reichweitemax = 60
            'Skill Grow Rate
            Bewegungsbonus = 40
            'Speed Grow Rate
            RadioaktiveVerseuchung = 40
            'Luck Grow Rate
            BesetzungsBonus = 30
            'Deffence Grow Rate
            ReichweitenBonus = 55
            'Ressistance Grow Rate
            SichtBonus = 45
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 4 'Lifepoints
            Koste += 4 'Max HP
            SpritMax += 3 'Strenght
            Sprit += 1 'Skill
            Treibeverbrauch += 1 'Speed
            MunitionMax += 0 ' Luck
            Muni += 3 'Deffence
            Reichweitemin += 1 'Ressistance
            Reichweitemax += 0 'Constitution
            WeaponSkill.LevelUpSkill(Weapontype.Dragonfire, 40)
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
    ''' <summary>
    ''' A quite useful Soldier
    ''' </summary>
    ''' <remarks></remarks>
    Public Class Demon_King
        Inherits FEUnit
        Public Sub New(ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichBewegt As Boolean = True)
            MyBase.New(neuSpieler, neuX, neuY, HatSichBewegt)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuTreibstoff As Integer, ByVal neuMunition As Integer, ByVal neuSpieler As Integer, ByVal neuBesetzen As Boolean, ByVal neuX As Integer, ByVal neuY As Integer, ByVal Tarnung As Boolean, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuTreibstoff, neuMunition, neuSpieler, neuX, neuY, neuBesetzen, HatSichbeWegt, Tarnung)
        End Sub
        Public Sub New(ByVal neuKP As Integer, ByVal neuSpieler As Integer, ByVal neuX As Integer, ByVal neuY As Integer, Optional ByVal HatSichbeWegt As Boolean = True)
            MyBase.New(neuKP, neuSpieler, neuX, neuY, HatSichbeWegt)
        End Sub
        Protected Overrides Sub DatenLaden()
            'Life Points
            Leben = 60
            'Max Life points
            Koste = 60
            'Strenght
            SpritMax = 23
            'Skill
            Sprit = 20
            'Speed
            Treibeverbrauch = 18
            'Luck
            MunitionMax = 0
            'Deffence
            Muni = 25
            'Resistance
            Reichweitemin = 25
            'Constitution
            Reichweitemax = 25
            'Normal Stuff
            Einheitenname = "Dämonenkönig"
            EinheitenID = "DÄMONENKÖNIG"
            KannTarnen = False
            KannBesetzen = False
            Bewegungspunkte = 4
            Bewegungsart = MovementSorts.Heavy_Food.ToString
            Sicht = 2
            Array.Resize(Ladung, 0)
            Array.Resize(GeladeneEinheitenIDs, 0)
            Array.Resize(EntladungsUntergrund, 0)
            BildIDbestimmen()
            Explosion = "Death"
            'Special Skills
            WeaponSkill = New WeaponSkills
            WeaponSkill.Dark = 1
            Experience = 0
            UnitUpgradeLevel = 3
            UnitLevel = 1
            'Grow Rates
            'Life point Grow Rate
            ATKDEFBoost.X = 100
            'Strenght Grow Rate
            Reichweitemax = 90
            'Skill Grow Rate
            Bewegungsbonus = 80
            'Speed Grow Rate
            RadioaktiveVerseuchung = 80
            'Luck Grow Rate
            BesetzungsBonus = 40
            'Deffence Grow Rate
            ReichweitenBonus = 75
            'Ressistance Grow Rate
            SichtBonus = 75
            'Constitution Grow Rate
            TreibstoffSenkung = 0
            'Special Skills
            Fähigkeit = "MoveAndFire"
        End Sub
        Public Overrides Sub LevelUpgrade()
            Leben += 0 'Lifepoints
            Koste += 0 'Max HP
            SpritMax += 0 'Strenght
            Sprit += 0 'Skill
            Treibeverbrauch += 0 'Speed
            MunitionMax += 0 ' Luck
            Muni += 0 'Deffence
            Reichweitemin += 0 'Ressistance
            Reichweitemax += 0 'Constitution
        End Sub
        Public Overrides Function GetUpgradeUnits() As String()
            Return New String() {}
        End Function
    End Class
#End Region
#End Region
#End Region
#Region "Item Stuff"
    ''' <summary>
    ''' An Item
    ''' </summary>
    ''' <remarks></remarks>
    Public MustInherit Class Item
        Public MaxUses As Integer
        Public MomUses As Integer
        Public Power As Integer
        Public Skill As Integer
        Public CritRate As Integer
        Public MinRange As Integer
        Public MaxRange As Integer
        Public Weight As Integer
        Public Upgrades As BonusUpgrade
        Public Name As String
        Public ItemID As String
        ''' <summary>
        ''' Checks if this Unit can use this weapon
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public MustOverride Function CanUse(ByVal Unit As FEUnit) As Boolean
        ''' <summary>
        ''' Activates this Item for this Unit.
        ''' </summary>
        ''' <remarks></remarks>
        Public MustOverride Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        ''' <summary>
        ''' Gets the Weapon Sort for Example of a Special Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public MustOverride Function GetWeaponSort() As Weapontype
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public MustOverride Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
        Public Sub New(ByVal MaxUses As Integer, ByVal Power As Integer, ByVal Skill As Integer, ByVal CritRate As Integer, ByVal MinRange As Integer, ByVal MaxRange As Integer, ByVal Weight As Integer, _
                       ByVal Name As String, ByVal ItemID As String)
            Me.MaxUses = MaxUses
            Me.MomUses = MaxUses
            Me.Power = Power
            Me.Skill = Skill
            Me.CritRate = CritRate
            Me.MinRange = MinRange
            Me.MaxRange = MaxRange
            Me.Weight = Weight
            Me.Name = Name
            Me.ItemID = ItemID
        End Sub
        ''' <summary>
        ''' Upgrades Unit values.
        ''' </summary>
        ''' <remarks></remarks>
        Public Class BonusUpgrade
            Public Power As Integer
            Public Skill As Integer
            Public Luck As Integer
            Public Speed As Integer
            Public Deffence As Integer
            Public Resistance As Integer
            Public Constitution As Integer
            Public MovementRange As Integer
        End Class
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public MustOverride Function GetItemLocation() As Point
    End Class
    Public Shared Function NewItem(ByVal ItemID As String) As Item
        Select Case ItemID
            Case "EISENSCHWERT"
                Return New Iron_Sword
            Case "LEICHTSCHWERT"
                Return New Slim_Sword
            Case Else
                Return Nothing
        End Select
    End Function


#Region "Special Items"
#Region "Swords"
    Public Class Iron_Sword
        Inherits Item
        Public Sub New()
            MyBase.New(46, 5, 90, 0, 1, 1, 5, "Eisenschwert", "EISENSCHWERT")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.E Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)

        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(0, 0)
        End Function
    End Class
    Public Class Slim_Sword
        Inherits Item
        Public Sub New()
            MyBase.New(30, 2, 100, 5, 1, 1, 2, "Leichtschwert", "LEICHTSCHWERT")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.E Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)

        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(1, 0)
        End Function
    End Class
    Public Class Poison_Sword
        Inherits Item
        Public Sub New()
            MyBase.New(40, 3, 70, 0, 1, 1, 6, "Giftschwert", "GIFTSCHWERT")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
            Deffender.Waffen2 = UnitState.Poison.ToString
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(7, 0)
        End Function
    End Class
    Public Class Shamshir
        Inherits Item
        Public Sub New()
            MyBase.New(20, 5, 75, 35, 1, 1, 8, "Shamshir", "SHAMSHIR")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Select Case Unit.EinheitenID
                    Case "SCHWERTMEISTER"
                        Return True
                    Case "SCHWERTMEISTERIN"
                        Return True
                    Case "MYRMIDONE"
                        Return True
                    Case "MYRMIDONIN"
                        Return True
                    Case "SKELETTRITTER"
                        Return True
                    Case "WICHTKRIEGER"
                        Return True
                    Case Else
                        Return False
                End Select
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(7, 15)
        End Function
    End Class
    Public Class Armorslayer
        Inherits Item
        Public Sub New()
            MyBase.New(18, 8, 80, 0, 1, 1, 11, "Panzerbrecher", "PANZERBRECHER")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Select Case Unit.EinheitenID
                Case "RITTER"
                    Return 2
                Case "GENERAL"
                    Return 2
                Case "ERZRITTER"
                    Return 2
                Case Else
                    Return 1
            End Select
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(3, 1)
        End Function
    End Class
    Public Class Zanbota
        Inherits Item
        Public Sub New()
            MyBase.New(18, 6, 85, 0, 1, 1, 11, "Zanbota", "ZANBOTA")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Select Case Unit.EinheitenID
                Case "KAVALIER"
                    Return 2
                Case "RITTMEISTER"
                    Return 2
                Case "ERZRITTER"
                    Return 2
                Case "NOMADE"
                    Return 2
                Case "NOMADEN-SOLDAT"
                    Return 2
                Case "WALKÜRE"
                    Return 2
                Case "WARLOCK"
                    Return 2
                Case "WARLOCKIN"
                    Return 2
                Case Else
                    Return 1
            End Select
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(8, 1)
        End Function
    End Class
    Public Class Steel_Sword
        Inherits Item
        Public Sub New()
            MyBase.New(30, 8, 75, 0, 1, 1, 10, "Stahlschwert", "STAHLSCHWERT")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(2, 0)
        End Function
    End Class
    Public Class Iron_Blade
        Inherits Item
        Public Sub New()
            MyBase.New(35, 9, 70, 0, 1, 1, 12, "Eisenklinge", "EISENKLINGE")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.D Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(4, 0)
        End Function
    End Class
    Public Class Light_Brand
        Inherits Item
        Public Sub New()
            MyBase.New(25, 9, 70, 0, 1, 2, 9, "Lichtschwerter", "LICHTSCHWERTER")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.C Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Light
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(5, 1)
        End Function
    End Class
    Public Class Killing_Edge
        Inherits Item
        Public Sub New()
            MyBase.New(20, 9, 75, 30, 1, 1, 7, "Schnitter", "SCHNITTER")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.C Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(2, 1)
        End Function
    End Class
    Public Class Lancereaver
        Inherits Item
        Public Sub New()
            MyBase.New(15, 9, 75, 5, 1, 1, 9, "Lanzenmeister", "LANZENMEISTER")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.C Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Lance
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(7, 1)
        End Function
    End Class
    Public Class Dragonslayer
        Inherits Item
        Public Sub New()
            MyBase.New(30, 8, 75, 0, 1, 1, 5, "Wyrmtöter", "WYRMTÖTER")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.C Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Select Case Unit.EinheitenID
                Case "WYVERNRITTER"
                    Return 2
                Case "WYVERNLORD"
                    Return 2
                Case "WYVERNREITER"
                    Return 2
                Case "FEUERDRACHE"
                    Return 2
                Case "DRACOZOMBIE"
                    Return 2
                Case "ZOMBIEDRACHEN"
                    Return 2
                Case Else
                    Return 1
            End Select
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(4, 1)
        End Function
    End Class
    Public Class Steel_BLADE
        Inherits Item
        Public Sub New()
            MyBase.New(25, 11, 65, 0, 1, 1, 14, "Stahlklinge", "STAHLKLINGE")
        End Sub
        Public Overrides Function CanUse(ByVal Unit As FEUnit) As Boolean
            If FEUnit.WeaponSkills.GetSkillLevel(Unit.WeaponSkill.Sword) >= FEUnit.WeaponSkills.Level.C Then
                Return True
            Else
                Return False
            End If
        End Function
        ''' <summary>
        ''' We do nothing here for this weapon
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub UseItem(ByVal Attacker As FEUnit, ByVal Deffender As FEUnit)
        End Sub
        ''' <summary>
        ''' Sort of this Weapon
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponSort() As Weapontype
            Return Weapontype.Sword
        End Function
        ''' <summary>
        ''' How Strong this Weapon is against other.
        ''' </summary>
        ''' <param name="Unit"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetWeaponStrength(ByVal Unit As FEUnit) As Integer
            Return 1
        End Function
        ''' <summary>
        ''' The point of the Item Image
        ''' </summary>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Overrides Function GetItemLocation() As Point
            Return New Point(5, 1)
        End Function
    End Class
#End Region
#End Region

#End Region
#Region "Terrain Stuff"
    Public Class FETerrain
        Inherits ObjektLandschaft
        Public Avoid As Integer
        Public Sub New(ByVal neuTyp As String, ByVal X As Integer, ByVal Y As Integer, ByVal Spielfeld As ObjektSpielfeld, Optional ByVal neuGebäude As ObjektGebäude = Nothing)
            MyBase.New(neuTyp, X, Y, Spielfeld, neuGebäude)

        End Sub
    End Class
#End Region

End Class
